// pages/my/avatar-modify/avatar.js

const app = getApp();
const util = require("../../../utils/util");
const requestUtil = require("../../../utils/request");
const api = require("../../../config/api");


Page({

  /**
   * 页面的初始数据
   */
  data: {
    CustomBar: app.globalData.CustomBar,

    /****** 裁剪图片组件开始 ******/
    src: null, // 裁剪图片地址
    visible: false, // 是否显示
    size: { //裁剪尺寸
      width: 250,
      height: 300
    },
    cropSizePercent: 0.7, //裁剪框显示比例
    borderColor: '#fff', //裁剪框边框颜色
    result: '', //裁剪结果地址
    /****** 裁剪图片组件结束 ******/
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    app.globalData.allowOnShow = false;
    this.setData({
      cardInfo: app.globalData.employeeInfo
    })
    // 安卓有效：隐藏分享按钮
    util.hideShareMenu();
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    app.globalData.allowOnShow = true;
  },


  /**
   * 选择裁剪图片
   * 
   * TODO 此组件有个问题，当图片尺寸过大时会无法显示，github的issue里有短暂的解决办法
   */
  chooseCropImage: function () {
    let self = this;
    wx.chooseImage({
      count: 1,
      success(res) {
        self.setData({
          visible: true,
          src: res.tempFilePaths[0],
        })
      }
    });
  },

  /**
   * 选取裁剪图片
   */
  uploadCallback: function () {
    //TODO 好像没什么好做的？弹出框时的显示
  },

  /**
   * 裁剪组件关闭
   */
  closeCallback: function () {
    this.setData({
      visible: false,
      src: null
    });
  },

  /**
   * 图片裁剪完成
   */
  cropCallback: function (e) {
    wx.uploadFile({
      filePath: e.detail.resultSrc,
      name: 'file',
      url: api.urls.addAttch,
      header: {
        'content-type': 'multipart/form-data'
      },
      formData: {
        'attachType': 'image',
        'operatorId': app.globalData.employeeInfo.id,
        'relationType': 'evaClass'
      },
      success: res => {
        let data = JSON.parse(res.data)
        if (data.code != 0) {
          util.showToast(data.msg, 'none');
          return;
        }
        util.showToast("修改成功", 'success');
        app.globalData.employeeInfo.headImgUrl = api.picUrl + data.data.attachUrl;
        this.setData({
          visible: false,
          result: e.detail.resultSrc
        });
      }
    })
  },
})